package lessons.no6;

import java.util.ArrayList;

/**
 * 泛型
 */
public class N6_7 {
    
    public static void main(String[] args) {
        N6_7 myclass = new N6_7();
        //myclass.test1();
        myclass.test2();
    }



    public void test1()
    {
        //ArrayList list = new ArrayList();	 // 创建ArrayList集合
		ArrayList<String> list = new ArrayList<>();// 创建集合对象并指定泛型为String
        //ArrayList<TestC> list = new ArrayList<>();

		list.add("String");					// 添加字符串对象
		list.add("Collection");				
		list.add(""+1);						// 添加Integer对象

		for (Object obj : list) {			// 遍历集合
			String str = (String) obj;		// 强制转换成String类型
			System.out.println(str);
		}
    }

    //泛型使用
    public void test2()
    {
        A<String> a1 = new A<>("hello");
        a1.show();

        A<B> a2 = new A<>(new B());

        a2.show();
    }
}


class A<T>
{
    private T mData;
    public A(T data)
    {
        mData = data;
    }
    public void show()
    {
        System.out.println("输出数据:"+mData);
    }
}

class B
{
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return "这是类B";
    }

    public <T> void get(T data)
    {

    }
}
